package site.shenjie.article.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class BeanConfiguration {

    /**
     * RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端，
     * RestTemplate 提供了多种便捷访问远程 Http 服务的方法，能够大大提高客户端的编写效率。
     * 通过配置 RestTemplate 来调用服务提供者的接口
     */
    @Bean
    //添加一个 @LoadBalanced 注解，这个注解会自动构造 LoadBalancerClient 接口的实现类（这个实现类可以发出负载均衡地请求）并注册到 Spring 容器中
    @LoadBalanced
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
}
